home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d4 / iq.arc / ANALOGY3.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-11-13  |  4.4 KB  |  88 lines

  1. 10  KEY OFF:KEY(10) ON:ON KEY(10) GOSUB 620:KEY(9) ON:ON KEY(9) GOSUB 450:DIM A(18):FOR I=1 TO 18:A(I)=I:NEXT I:COLOR 3,0,8
  2. 20  CLS:R=0:N=0:GOSUB 860:FOR I=1 TO 100:SWAP A(INT(RND*18+1)),A(INT(RND*18+1)):NEXT I
  3. 30  CLS:LOCATE 1,34:COLOR 0,7:PRINT"IQ Builder ":COLOR 11,0
  4. 40  LOCATE 2,34:PRINT"Analogies 3":COLOR 0,11
  5. 50  LOCATE 4,21:PRINT CHR$(201);
  6. 60  FOR J=1 TO 35
  7. 70    PRINT CHR$(205);
  8. 80    IF J > 35 GOTO 100
  9. 90    NEXT J
  10. 100  PRINT CHR$(187)
  11. 110  LOCATE 5,21:PRINT CHR$(186);:PRINT"Press <F9> to skip to next section.";
  12. 120  PRINT CHR$(186)
  13. 130  LOCATE 6,21:PRINT CHR$(186);:PRINT"Press <F10> to return to main menu.";
  14. 140  PRINT CHR$(186)
  15. 150  LOCATE 7,21:PRINT CHR$(200);
  16. 160  FOR J=1 TO 35
  17. 170    PRINT CHR$(205);
  18. 180    IF J > 35 GOTO 200
  19. 190    NEXT J
  20. 200  PRINT CHR$(188):COLOR 7,0
  21. 210  XX=1:C=A(XX):R=0:N=0
  22. 220  RESTORE:IF C>1 THEN FOR L=1 TO C-1:FOR X=1 TO 10:READ A$:NEXT X,L
  23. 230  GOSUB 820
  24. 240  COLOR 0,3:PRINT"Problem" C
  25. 250  PRINT:PRINT"Complete the second analogy so that it is most like the first:"
  26. 260  READ A$,B$:PRINT
  27. 270  AL=LEN(A$):BL=LEN(B$):COLOR 11,0
  28. 280  PRINT "VARPTR" STRING$(AL,"SOUND") "COLOR       " "VARPTR" STRING$(BL,"SOUND") "COLOR"
  29. 290  PRINT "CALL" A$ "CALL";:COLOR 0,11:PRINT" is to ";:COLOR 11,0:PRINT "CALL" B$ "CALL";:COLOR 0,11:PRINT " as":COLOR 11,0
  30. 300  PRINT "CLS" STRING$(AL,"SOUND") "'       " "CLS" STRING$(BL,"SOUND") "'":PRINT
  31. 310  READ A$:AL=LEN(A$):COLOR 11,0
  32. 320  PRINT "VARPTR" STRING$(AL,"SOUND") "COLOR       " "VARPTR" STRING$(3,"SOUND") "COLOR"
  33. 330  PRINT "CALL" A$ "CALL";:COLOR 0,11:PRINT" is to ";:COLOR 11,0:PRINT "CALL" " ? " "CALL":COLOR 11,0
  34. 340  PRINT "CLS" STRING$(AL,"SOUND") "'       " "CLS" STRING$(3,"SOUND") "'"
  35. 350  FOR X=1 TO 5:COLOR 3,8:PRINT SPC(9+AL) "(";:COLOR 11,0:PRINT X;:COLOR 3,8:PRINT")  ";:READ A$:PRINT A$:NEXT X
  36. 360  READ K, A$
  37. 370  LOCATE 25,1:PRINT"Your choice is - ";:N=N+1:Z=Z+1
  38. 380  GOSUB 870:IF INSTR("12345",IKEY$)=0 THEN 380 ELSE A=VAL(IKEY$)
  39. 390  IF (A<>K)*(Z>1) THEN PLAY "mfn27n20t32":LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:COLOR 11,12:PRINT"No!  The answer was " K ".";:COLOR 7,0:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:GOTO 430
  40. 400  IF (A=K)*(Z=1) THEN LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Correct!";:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:R=R+1:GOTO 430
  41. 410  IF (A=K)*(Z>1) THEN LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Right...";:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:R=R+0.7:GOTO 430
  42. 420  PLAY "mfn27n20t32":LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:COLOR 12,1:PRINT"No, but here is a hint:  " A$;:COLOR 7,0:TIMEOUT=3:GOSUB 830:LOCATE 25,1:PRINT SPC(79);:GOTO 370
  43. 430  XX=XX+1:Z=0
  44. 440  IF XX<18 THEN C=A(XX):GOTO 220
  45. 450  COLOR 11,4:LOCATE 1,1:PRINT SPC(33):LOCATE 1,45:PRINT SPC(35)
  46. 460  LOCATE 2,1:PRINT SPC(33):LOCATE 2,45:PRINT SPC(35)
  47. 470  LOCATE 3,1:PRINT SPC(79)
  48. 480  LOCATE 4,1:PRINT SPC(20):LOCATE 4,58:PRINT SPC(22)
  49. 490  LOCATE 5,1:PRINT SPC(20):LOCATE 5,58:PRINT SPC(22)
  50. 500  LOCATE 6,1:PRINT SPC(20):LOCATE 6,58:PRINT SPC(22)
  51. 510  LOCATE 7,1:PRINT SPC(20):LOCATE 7,58:PRINT SPC(22)
  52. 520  COLOR 11,4:GOSUB 820:COLOR 3,0:LOCATE 15,17
  53. 530  IF N<3 THEN PRINT"You didn't give me much of a chance, did you?":GOTO 600
  54. 540  PRINT"You scored" R "right out of" N "or" INT(100*R/N) "percent."
  55. 550  IF R/N<0.6 THEN LOCATE 18,21:PRINT"I'll bet you do better next time.":TIMEOUT=5:GOSUB 830:RUN
  56. 560  LOCATE 18,34:IF R/N<=0.8 THEN PRINT"Good job!":GOTO 600
  57. 570  IF R/N<=0.9 THEN PRINT"Very good!":GOTO 600
  58. 580  IF R/N<=0.99 THEN PRINT"Excellent!":GOTO 600
  59. 590  COLOR 19,0:PRINT"Brilliant!"
  60. 600  COLOR 3,0:LOCATE 25,1:PRINT "Press space bar to continue.";
  61. 610  IN$=INKEY$:IF IN$="" THEN 610 ELSE 630
  62. 620  SYSTEM
  63. 630  RUN "analogy4
  64. 640  DATA bass, soprano, low, top, voice, male, high, music, 4, opposites on scale
  65. 650  DATA bustle, ado, defer, jump, anticipate, procrastinate, yield, give, 3, same meaning
  66. 660  DATA cat, kitten, lion, tiger, lioness, baby, young, cub, 5, parent to offspring
  67. 670  DATA concise, verbose, exact, qualify, imprecise, inferior, opulent, terse, 2, on target to off target
  68. 680  DATA dregs, wine, slag, iron, drink, grapes, rot, castoff, 1, left overs
  69. 690  DATA dusk, dawn, death, infancy, birth, growth, maturity, beginning, 2, opp. ends of the same line
  70. 700  DATA hammer, nail, bat, strike, hit, baseball, fly, swing, 3, tool hits
  71. 710  DATA ladder, rung, bicycle, pedal, lock, cover, divider, hinge, 1,  something to hold
  72. 720  DATA lawyer, doctor, mechanic, automobile, plumber, wrench, accountant, priest, 2, professional to blue collar
  73. 730  DATA leg, man, wheel, walk, bike, woman, clock, turn, 2, locomotion
  74. 740  DATA obituary, eulogy, libel, slander, arson, print, law, abuse, 1, written to spoken
  75. 750  DATA pint, liter, yard, quart, metric, drink, volume, meter, 5, one system to another
  76. 760  DATA positive, negative, +, x, /, -, 0, *, 3, numerical signs
  77. 770  DATA spice, food, wit, fame, information, conversation, fortune, intelligence, 3, adds flavor
  78. 780  DATA synthetic, natural, rhinestone, chemical, stone, rock, diamond, grow, 4, one is imitation
  79. 790  DATA time, scythe, justice, liberty, scales, pedestal, clock, chains, 2, statue holds these
  80. 800  DATA usury, interest, miserly, money, misfortune, frugality, thievery, opulence, 3, one word extreme of other
  81. 810  DATA wince, pain, blush, embarrassment, cry, anger, avoid, dislike, 1, caught telling a lie
  82. 820  FOR Y=8 TO 24:LOCATE Y,1:PRINT SPC(79);:NEXT Y:LOCATE 8,1:RETURN
  83. 830  TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  84. 840  TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  85. 850  IF TIMEOUT > TIME3 - TIME2 THEN 840 ELSE RETURN
  86. 860  RNDTIME$=TIME$:RNDVAL=VAL(LEFT$(RNDTIME$,2))*120+VAL(MID$(RNDTIME$,4,2))*60+VAL(RIGHT$(RNDTIME$,2)):RANDOMIZE RNDVAL:RETURN
  87. 870  IKEY$=INKEY$:IF IKEY$="" THEN 870 ELSE RETURN
  88.